/**
 * 
 */
package com.dashboard.domain;

import java.io.Serializable;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * @author jneves
 *
 */
@Entity
@Table(name = "dre")
public class Dre implements Serializable
{
	/**
	 * 
	 */
	private static final long serialVersionUID = -4396602958899780431L;
	
	@Id
	@Column(name = "id_dre")
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;

	@Column(name = "nome")
	private String nome;
	
	@Column(name = "descricao")
	private String descricao;
	
	@ManyToOne
	@JoinColumn(name = "id_negocio")
	private Negocio negocio;
	
	@OneToMany(mappedBy = "dre", cascade = {CascadeType.ALL})
	private List<UnidadeOperacional> unidadesOperacionais;
	
	/**
	 * Construtor padr&atilde;o sem argumentos.
	 */
	public Dre() 
	{
		super();
	}

	/**
	 * Construtor parametrizado.
	 * 
	 * @param nome dfg
	 * @param descricao sdf
	 */
	public Dre(String nome, String descricao) 
	{
		this.nome = nome;
		this.descricao = descricao;
	}
	

	/**
	 * @return the nome
	 */
	public String getNome() 
	{
		return nome;
	}

	/**
	 * @param nome the nome to set
	 */
	public void setNome(String nome) 
	{
		this.nome = nome;
	}

	/**
	 * @return the descricao
	 */
	public String getDescricao() 
	{
		return descricao;
	}

	/**
	 * @param descricao the descricao to set
	 */
	public void setDescricao(String descricao) 
	{
		this.descricao = descricao;
	}

	/**
	 * @return the unidadesOperacionais
	 */
	public List<UnidadeOperacional> getUnidadesOperacionais()
	{
		return unidadesOperacionais;
	}

	/**
	 * @param unidadesOperacionais the unidadesOperacionais to set
	 */
	public void setUnidadesOperacionais(
			List<UnidadeOperacional> unidadesOperacionais)
	{
		this.unidadesOperacionais = unidadesOperacionais;
	}

	/**
	 * @return the id
	 */
	public Long getId() 
	{
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Long id) 
	{
		this.id = id;
	}

	/**
	 * @return the negocio
	 */
	public Negocio getNegocio()
	{
		return negocio;
	}

	/**
	 * @param negocio the negocio to set
	 */
	public void setNegocio(Negocio negocio)
	{
		this.negocio = negocio;
	}
}